home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 2 / Amiga Tools 2.iso / tex / macros / source / contrib / supported / xypic / src / xycmat10.mf < prev    next >
Text File  |  1995-03-15  |  3KB  |  80 lines

  1. % $Id: xycmat10.mf,v 2.12 1994/10/25 11:34:25 kris Exp $
  2. %
  3. % XYCMAT10: upper arrow tips for XY-pic at 10 point "Computer Modern style".
  4. % Copyright (c) 1994  Kristoffer H. Rose  <kris@diku.dk>
  5. %
  6. % This file is part of the XY-pic macro package.
  7. %
  8. % The XY-pic macro package is free software; you can redistribute it and/or
  9. % modify it under the terms of the GNU General Public License as published by
  10. % the Free Software Foundation; either version 2 of the License, or (at your
  11. % option) any later version.
  12. %
  13. % The XY-pic macro package is distributed in the hope that it will be
  14. % useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
  16. % Public License for more details.
  17. %
  18. % You should have received a copy of the GNU General Public License along
  19. % with this macro package; if not, write to the Free Software Foundation,
  20. % Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  21. % _________________________________________________________________________
  22. %
  23. % CONTENTS: Arrow tips *pointing* in all directions.  With zero bounding box
  24. % placed at the tip; note most of the ink goes on the opposite side of where
  25. % the tip points.
  26. %
  27. % This font contains the half of the tip that is upper when pointing right.
  28. % _________________________________________________________________________
  29. %
  30. font_identifier "XYCMAT"; font_size 10pt#;
  31. mode_setup;
  32.  
  33. % METANESS...
  34. %
  35. segl# = 1/5 designsize; define_pixels(segl);        % segment length
  36. segx# = 1/2 designsize; define_pixels(segx);        % segment height
  37. segw# = .4pt#; define_whole_blacker_pixels(segw);    % segment thickness
  38. %
  39. tipo# = 0#; define_pixels(tipo);    % tip overshoot
  40. curvature = 1/3;            % 1 = straight tails, 0= curved tails
  41. %
  42. pickup pencircle scaled segw; char_pen := savepen;
  43. %
  44. % chartowards makes char cc a tip pointing towards (dx,dy)...
  45. %
  46. def chartowards(expr cc,dx,dy) =
  47.  beginchar(cc,0,0,0);
  48.   a := angle(dx,dy);
  49.   z0 = (tipo,0) rotated a;         % tip of tip
  50.   z1 = (-segl,0) rotated a;        % center of tail
  51.   z2 = (-segl,1/2 segx) rotated a;    % tail ends
  52.   z3 = curvature [z1,z2];        % tail directions
  53.   pickup char_pen; draw z2..{-z3}z0;
  54.   penlabels(0,1,2,3);
  55.  endchar
  56. enddef;
  57.  
  58. % TESTING...we redefine openit because the characters extend far to the
  59. % left of the bounding box!
  60. %
  61. def openit = openwindow currentwindow
  62.  from origin to (screen_cols,screen_rows) at (-200,300) enddef;
  63.  
  64. % GENERATE...
  65. %
  66. input xyd
  67.  
  68. bye.
  69. %
  70. % $Log: xycmat10.mf,v $
  71. % Revision 2.12  1994/10/25  11:34:25  kris
  72. % Interim release just before v3 [works with AMS-LaTeX 1.2]...
  73. %
  74. % Recreated from xyatip10.mf (Revision 2.7 1992/12/14 01:41:26 kris).
  75. %
  76. % Revision 2.6  1993/10/21  21:21:24  kris
  77. % NEW for 2.7...
  78. %
  79. % Based on xyatip10.mf [2.6] and Knuth's SYMBOL.MF.
  80.